package framework.view {
	import framework.signals.RegisterBlitDisplayObjectSignal;
	import framework.signals.RetrieveContentSignal;
	import org.robotlegs.mvcs.Mediator;

	/**
	 * @author Charlie MacIsaac
	 */
	
	public class BlitDisplayObjectMediator extends Mediator {
		// PROPERTIES =============================================================================
		[Inject]	public var registerBlitObjectSignal : RegisterBlitDisplayObjectSignal;
		[Inject]	public var retrieveContentSignal : RetrieveContentSignal;
		
		[Inject]	public var view : BlitDisplayObjectView;
		
		// GETTERS + SETTERS ======================================================================
		// CONSTRUCTOR ============================================================================
		public function BlitDisplayObjectMediator() { }
		
		// PUBLIC =================================================================================
		override public function onRegister() : void {
			super.onRegister();
			
			retrieveContentSignal.dispatch(view.name, receiveContent);
		}
		
		// PRIVATE ================================================================================
		// LISTENERS ==============================================================================
		private function receiveContent(content : Object) : void {
			view.init(content);
			registerBlitObjectSignal.dispatch(view);
		}
	}
}